
<%@ page import="tmanager.*" import="java.sql.*" %>
<%@ include file="/WEB-INF/sql.jsp" %>

<% if (session.getAttribute("tmanager.professore") == null) {
        response.sendRedirect("../index.jsp");
        return;
    }
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Pragma", "no-cache");
    response.setDateHeader("Expires", 0);

    //Recupero dalla sessione l'oggetto professore e i dati di input del form se presenti
    Professore professoreSessione = (Professore) session.getAttribute("tmanager.professore");

    String nome = (request.getParameter("nomeProfessore") == null) ? "" : request.getParameter("nomeProfessore").trim();
    String cognome = (request.getParameter("cognomeProfessore") == null) ? "" : request.getParameter("cognomeProfessore").trim();
    String email = (request.getParameter("emailProfessore") == null) ? "" : request.getParameter("emailProfessore").trim();
    String nuovaPwd = (request.getParameter("passwordProfessore") == null) ? "" : request.getParameter("passwordProfessore").trim();
    String confPwd = (request.getParameter("confPasswordProfessore") == null) ? "" : request.getParameter("confPasswordProfessore").trim();

    boolean datiModificati = false;
    boolean formValido = true;
    boolean pwdValida = true;
    boolean emailValida = true;
    boolean[] erroreRilevato=new boolean[2];
    
    //Controllo se sono state effettuate modifiche alle informazioni relative al professore
    // ed effettuo il controllo di validità
    if (!email.equals("")) {
        if (!professoreSessione.getEmail().equals(email)) {
            datiModificati = true;
            emailValida = Utility.controllaMail(email);
            if(!emailValida){
                erroreRilevato[0]=true;
            }
        }
    }
    if (!nuovaPwd.equals("") || !confPwd.equals("")) {
        datiModificati = true;
        pwdValida = Utility.controllaPassword(professoreSessione.getPassword(), nuovaPwd, confPwd);
        if(!pwdValida){
            erroreRilevato[1]=true;
        }
    }

    //Nel caso in cui siano state fatte modifiche valide, le salvo sul DB
    formValido = (emailValida && pwdValida);
    if (formValido && datiModificati) {
        if (!email.equals("")) {
            professoreSessione.setEmail(email);
        }
        if (!nuovaPwd.equals("")) {
            professoreSessione.setPassword(Utility.getMD5(nuovaPwd));
        }
        try {
            updateProfiloProfessore(professoreSessione);
        } catch (SQLException e) {
            session.setAttribute("tmanager.erroreTitolo", "Errore durante l'aggiornamento dei dati del Professore");
            session.setAttribute("tmanager.erroreMessaggio", "Siamo spiacenti, si è verificato un errore durante l'aggiornamento dei dati sul database. Provare ad effettuare l'operazione nuovamente.");
            response.sendRedirect("../errore.jsp");
            return;
        }
    }
%>

<%!
    static String sPassword = "I campi password e conferma password permettono la modifica della password d'accesso al sistema. Se modificati, i campi devono coincidere come valore. Si tratta di campi opzionali e la loro modifica non è richiesta.";
    static String sConfermaPassword = "Se il campo password &egrave; stato immesso, il campo conferma password permette di verificarne la correttezza.";
    static String sEmail = "Il campo Email richiede l'inserimento / aggiornamento del proprio indirizzo e-mail. &Egrave; un campo obbligatorio e deve essere correttamente formattato.";
%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Modifica Profilo Docente</title>
        <link rel="stylesheet" type="text/css" href="../CSS/defaultStyle.css" />
    </head>
    <body>
        <%@include file="../WEB-INF/jspf/header.jspf" %>
        <script type="text/javascript" src="../Scripts/scripts.js">
        </script>
        <script type="text/javascript"> 
            
            
            function inizializza(){
                $("#riepilogoStatic").remove();
                $("#HmodificaProfilo").addClass("paginaCorrente");
                $("#emailProfessore").bind("focusin",{sugg:"<%=sEmail%>"}, definisciSugg);
                $("#emailProfessore").bind("focusout",{p:"emailProfessore"}, verificaEMail);
                
                $("#passwordProfessore").bind("focusin",{sugg:"<%=sPassword%>"}, definisciSugg);
                $("#passwordProfessore").bind("focusout",rimuoviSuggGenerico);
                
                $("#confPasswordProfessore").bind("focusin",{sugg:"<%=sConfermaPassword%>"}, definisciSugg);
                $("#confPasswordProfessore").bind("focusout",{p:"confPasswordProfessore", p2:"passwordProfessore"}, passwordUguali);
                
                $("#modificaProfessore").bind("click",{p:"modificaProf"}, invia);
                $("#cancella").bind("click",pulisci);
                $("<div class=\"menuRieplogo\"><h3>Suggerimenti:</h3></div>").appendTo("#corpoDx").fadeTo(10, 0.5);
            };
            $(document).ready(inizializza);
        </script>
        <div id="corpo">
            
            <% if (formValido && datiModificati) {%>
            <div id="corpoSx">
                <h2 class="centrato">Modifica Profilo Docente</h2>
            <p>Le informazione del profilo sono state aggiornate con successo.</p>
            </div>
            <% } else {%>
            <div id="corpoDx">
            <div class="menuRieplogo" id="riepilogoStatic">
                <h3>Suggerimenti:</h3>
                <ul>
                    <li><%=sEmail%></li>
                    <li><%=sPassword%></li>
                    <li><%=sConfermaPassword%></li>
                </ul>
            </div>
            </div>
                <div id="corpoSx">
                <h2 class="centrato">Modifica Profilo Docente</h2>
            <form class="modificaProfilo" id="modificaProf" method="post" action="modificaProfiloProf.jsp">
                <fieldset>
                    <legend>Modifica Profilo Docente</legend>
                    <label for="identificativoProfessore">Identificativo: </label>
                    <input type="text" class="testo" id="matricolaProfessore" name="matricolaProfessore" disabled="disabled" value="<%= professoreSessione.getIdentificativo()%>" /><br />
                    <label for="nomeProfessore">Nome: </label>
                    <input type="text" class="testo" id="nomeProfessore" name="nomeProfessore" disabled="disabled" value="<%= professoreSessione.getNome()%>" /><br />
                    <label for="cognomeProfessore">Cognome: </label>
                    <input type="text" class="testo" id="cognomeProfessore" name="cognomeProfessore" disabled="disabled" value="<%= professoreSessione.getCognome()%>" /><br />
                    <label for="emailProfessore">Email: </label>
                    <input type="text" class="testo" id="emailProfessore" name="emailProfessore" value="<%= (datiModificati && !emailValida) ? email : professoreSessione.getEmail()%>" />
                    <span class="reqField">*</span>
                    <%if(erroreRilevato[0]){%>
                        <span id="errore_formatoMail" class="err">* il formato dell'indirizzo non è corretto!</span>
                    <%}%>
                    <br />
                    <label for="passwordProfessore">Password: </label>
                    <input type="password" class="testo" id="passwordProfessore" name="passwordProfessore" />
                    <%if(erroreRilevato[1]){%>
                        <span id="errore_passwordProfessore" class="err">* Le password devono essere uguali e con almeno 6 caratteri!</span>
                    <%}%>
                    <br />
                    <label for="confPasswordProfessore">Conferma Password: </label>
                    <input type="password" class="testo" id="confPasswordProfessore" name="confPasswordProfessore" /><br />
                    <input type="submit" class="submit" name="modificaProfessore" id="modificaProfessore"value="Invia>>" />
                    <input type="reset" value="Cancella" id="cancella"/>
                    
                    <br/>
                    <span class="reqField">I campi con l'asterisco (*) sono obbligatori.</span>
                    
                </fieldset>    
            </form>
                </div>
            <% }%>
        </div>
        <hr />
        <%@include file="../WEB-INF/jspf/footer.jspf" %>
    </body>
</html>
